//package com.jyh.service.impl;
//
//import com.jyh.dao.UserDao;
//import com.jyh.entity.User;
//import com.jyh.service.UserService;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.data.redis.core.RedisTemplate;
//import org.springframework.data.redis.core.ValueOperations;
//import org.springframework.stereotype.Service;
//
//import java.util.concurrent.TimeUnit;
//
///**
// * @author JYH
// * @version 1.0
// * @date 2022/12/7 13:27
// */
//@Service
//public class UserServiceImpl implements UserService {
//
//    @Autowired
//    private UserDao userDao;
//
//    @Autowired
//    private RedisTemplate redisTemplate;
//    @Override
//    public User findByUid(Integer uid) {
//
//        ValueOperations<String,Object> forValue = redisTemplate.opsForValue();
//        //查询缓存:key的名称：【模块名称::类名::唯一主键】
//        Object o = forValue.get("redis::user::" + uid);
//        if (o!=null){
//            return (User) o;
//        }
//
//        User user = userDao.selectById(uid);
//        if (user!=null){
//            forValue.set("redis::user::"+uid,user,3600, TimeUnit.SECONDS);
//        }
//        return user;
//    }
//
//    @Override
//    public User save(User user) {
//        int i = userDao.insert(user);
//        return user;
//    }
//
//    @Override
//    public int deleteByUid(Integer uid) {
//        //删除缓存中的key
//        redisTemplate.delete("redis::user::"+uid);
//        //删除数据库中的key
//        int i = userDao.deleteById(uid);
//        return i;
//    }
//
//    @Override
//    public User updateByUid(User user) {
//        //修改数据库中的key
//        int i = userDao.updateById(user);
//
//        //修改缓存中的key
//        ValueOperations<String,Object> forValue = redisTemplate.opsForValue();
//        forValue.set("redis::user::"+user.getUid(),user,3600,TimeUnit.SECONDS);
//        return user;
//    }
//}
